const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const ejs = require('ejs');
const session = require('express-session');

// 引入配置文件
const config = require('./config/config');

const index = require('./routes/index'); //首页
const api = require('./routes/api'); //api接口
const admin = require('./routes/admin'); //管理员

// 设置模板引擎
app.engine('html', ejs.__express);
app.set('view engine', 'html');

// 配置静态目录
app.use(express.static('static'));
//配置第三方中间件获取post提交的数据
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());

//配置session中间件
app.use(session({
  secret: 'This is Session',  //服务器生成session的签名
  name: 'itying', //修改session对应的cookie名称
  resave: false,  //强制保存session，即使它没有变化
  saveUninitialized: true,  //强制将未初始化的session存储
  cookie: {
    maxAge: 1000*60*30*60,
    secure: false  //true表示只有https协议才能访问
  },
  rolling: true //在每次请求时强行设置cookie，这将重置cookie过期时间(默认false)
}));

app.use('/', index);
app.use('/api', api);
app.use('/'+config.adminPath, admin);

// 绑定全局模板变量
app.locals.adminPath = config.adminPath;

app.listen(3000, "",(err)=>{
  if(err){
    console.log(err);
    return;
  };
  console.log("Server is running at http://localhost:3000");
});